import { IMessageBase } from "../../Framework/MQ/IMessageBase";
import { MessageManager } from "../../Framework/MQ/MessageManager";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { DictIntDateHelper } from "./DictIntDateHelper";
import { DictIntIntHelper } from "./DictIntIntHelper";
type int = number;
//class SArenaCrossInfo
    
    export  class SArenaCrossInfo extends IMessageBase
    {
        constructor(arg1: Boolean=false)
        {
            
            super();if (arg1) 
            {
                MessageManager.instance().regist(this);
            }
            return;
        }

        public /* override */ getType(): int
        {
            return this._type;
        }

        public /* override */ clone(): IMessageBase
        {
            return new SArenaCrossInfo();
        }

        public /* override */ __write(arg1: SerializeStream): void
        {
            arg1.writeInt(this.session);
            DictIntDateHelper.write(arg1, this.processDt);
            DictIntIntHelper.write(arg1, this.outLineNumMap);
            arg1.writeInt(this.chooseGroupState);
            arg1.writeInt(this.chooseFinalPosState);
            arg1.writeBool(this.isOpen);
            arg1.writeInt(this.process);
            arg1.writeInt(this.myProcess);
            arg1.writeInt(this.groupId);
            return;
        }

        public /* override */ __read(arg1: SerializeStream): void
        {
            this.session = arg1.readInt();
            this.processDt = DictIntDateHelper.read(arg1);
            this.outLineNumMap = DictIntIntHelper.read(arg1);
            this.chooseGroupState = arg1.readInt();
            this.chooseFinalPosState = arg1.readInt();
            this.isOpen = arg1.readBool();
            this.process = arg1.readInt();
            this.myProcess = arg1.readInt();
            this.groupId = arg1.readInt();
            return;
        }

        public /* const */_type: int=350;

        public /* var */session: int;

        public /* var */processDt: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */outLineNumMap: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */chooseGroupState: int;

        public /* var */chooseFinalPosState: int;

        public /* var */isOpen: Boolean;

        public /* var */process: int;

        public /* var */myProcess: int;

        public /* var */groupId: int;

        public static /* var */_regist: SArenaCrossInfo;
    }

            SArenaCrossInfo._regist = new SArenaCrossInfo(true);
        